Security News
Bun 1.2 Released with 90% Node.js Compatibility and Built-in S3 Object Support
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.
transformime-react
Advanced tools
Transforms MIMEtype+data to pure React Elements.
npm install transformime-react
Note that react
and immutable
are peer dependencies; you'll need to install those as well if they're not in your project (hint: they're definitely needed to make this package useful at all).
npm install immutable@3.7.x react@0.14.x
import { richestMimetype, transforms } from 'transformime-react';
import Immutable from 'immutable';
// Jupyter style MIME bundle
const bundle = new Immutable.Map({
'text/plain': 'This is great',
'image/png': 'R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7'
});
// Find out which mimetype is the richest
const mimetype = richestMimetype(bundle);
// Get the matching React.Component for that mimetype
let Transform = transforms.get(mimetype);
// Create a React element
return <Transform data={bundle.get(mimetype)} />;
which will return:
<img src='data:image/png;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7' />
as a React element. It chose 'image/png' as richer than 'text/plain' for representation.
const myOrder = Immutable.List(['text/plain', 'image/png']);
const CodeAsText = React.createClass({
render: function() {
return (
<code>{this.props.data}</code>
);
}
});
const myTransforms = transforms.set('text/plain', CodeAsText);
const mimetype = richestMimetype(bundle, myOrder, myTransforms);
Transform = myTransforms.get(mimetype);
return <Transform data={bundle.get(mimetype)} />;
Using the bundle from above, we'll get back:
<code>This is great</code>
FAQs
Transformime that returns React components
The npm package transformime-react receives a total of 24 weekly downloads. As such, transformime-react popularity was classified as not popular.
We found that transformime-react demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.
Security News
Biden's executive order pushes for AI-driven cybersecurity, software supply chain transparency, and stronger protections for federal and open source systems.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.